# -*- coding: utf-8 -*-
"""
@Time    : 2024/9/10 14:46 
@Author  : ZhangShenao 
@File    : 3.字符串的常用函数.py
@Desc    : 字符串的常用方法
"""

# 使用内置函数len计算字符串的长度
s1 = "hello"
print(f"len(s1) = {len(s1)}")  # len(s1) = 5

# 使用upper函数,获取字符串的大写形式拷贝
s2 = "hello".upper()
print(f"s2 = {s2}")  # s2 = HELLO

# 使用lower函数,获取字符串的小写形式拷贝
s3 = "HELLO".lower()
print(f"s3 = {s3}")  # s3 = hello

# 使用find函数,在字符串中查找子串的位置
s4 = "hello world"
print(f"s4.find('world') = {s4.find('world')}")  # s4.find('world') = 6
# 如果子串不存在,返回-1
print(f"s4.find('python') = {s4.find('python')}")  # s4.find('python') = -1
# index函数与find函数类似,但是如果子串不存在,会抛出异常
# print(f"s4.index('python') = {s4.index('python')}")  # ValueError: substring not found

# 使用startswith函数,判断字符串是否以指定子串开头
s5 = "hello world"
print(f"s5.startswith('hello') = {s5.startswith('hello')}")  # True
print(f"s5.startswith('Hello') = {s5.startswith('Hello')}")  # False

# 使用endswith函数,判断字符串是否以指定子串结尾
print(f"s5.endswith('world') = {s5.endswith('world')}")  # True
print(f"s5.endswith('World') = {s5.endswith('World')}")  # False

# 使用isdigit函数,判断字符串是否数字
print(f"123 isdigit: {"123".isdigit()}")  # True
print(f"12a isdigit: {"12a".isdigit()}")  # False

# 使用isalpha函数,判断字符串是否由字母组成
print(f"abc isalpha: {"abc".isalpha()}")  # True
print(f"abc1 isalpha: {"abc1".isalpha()}")  # False

# 使用isalnum函数,判断字符串是否由数字或字母组成
print(f"abc123 isalnum: {"abc123".isalnum()}")  # True
print(f"abc123! isalnum: {"abc123!".isalnum()}")  # False

# 使用strip函数,返回删除字符串首尾空格后的拷贝
s6 = "  hello world  "
print(f"s6.strip() = {s6.strip()}")  # s6.strip() = hello world
